#ifndef DB_H_INCLUDED
#define DB_H_INCLUDED

#include "SegmentManager.h"
#include "GlobalStuff.h"
#include "SingleBufferManager.h"

class DB
{
public:
    static DB& getDB();

    BufferManager& getBufferManager();
    SegmentManager& getSegmentManager();
    SegmentInventory& getSegmentInventory();

    void destroyDB();

private:
    DB();
    DB(const DB&) = delete;             // nicht kopierbar
    DB& operator=(const DB&) = delete;  // nicht zuweisbar
    ~DB();

    BufferManager* bufferManager;
    SegmentInventory* segmentInventory;
    SegmentManager* segmentManager;
};


#endif // DB_H_INCLUDED
